@时光机
2年前 提问
1个回答

什么是 XXE 攻击?

一颗小胡椒
2年前

XXE 攻击就是XML(External Entity Injection)外部实体注入,该漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载任意外部文件,造成文件读取、命令执行(有点极端)、内网端口扫描、攻击内网网站、发起dos攻击等危害。

XML外部实体(XXE)注入是一个严重的缺陷,允许攻击者读取服务器上的本地文件,访问内部网络,扫描内部端口或在远程服务器上执行命令。它针对解析XML的应用程序。

当包含对外部实体的引用的XML输入由弱配置的XML解析器处理时,会发生此攻击。攻击者通过在XML数据中嵌入恶意内联DOCTYPE定义来利用它。

当Web服务器处理恶意XML输入时,实体将被扩展,这可能会导致攻击者访问Web服务器的文件系统,远程文件系统访问或通过HTTP/HTTPS建立与任意主机的连接。

按照构造外部实体声明的方法不同可分为,XXE可以分为:

  • 直接通过DTD外部实体声明

  • 通过DTD文档引入外部DTD文档中的外部实体声明

  • 通过DTD外部实体声明引入外部DTD文档中的外部实体声明。

按照XXE回显信息不同可分为正常回显XXE、报错XXE和Blind XXE。